Ruby mengangkat definisi metode dari tanda tangan yang kaku menjadi antarmuka dinamis. Dengan menguasai operator Splat operator dan logika berbasis ekspresi, kita menciptakan metode yang dapat menyesuaikan diri secara mulus dengan kerapatan data yang bervariasi tanpa perlu overload yang rumit.
1. Default Cerdas & Splat
Ruby memungkinkan parameter diinisialisasi dalam tanda tangan, memastikan fungsionalitas bahkan dengan data minimal. Operator Splat operator (*) berfungsi sebagai jembatan: dalam parameter, ia menangkap argumen tambahan ke dalam sebuah array; dalam pemanggilan, ia 'meledakkan' array menjadi slot individu.
2. Pengembalian Berbasis Ekspresi
Metode Ruby secara otomatis mengembalikan nilai dari ekspresi terakhir yang dieksekusi. Namun, kata kunci return digunakan secara strategis untuk keluar lebih awal atau mengembalikan beberapa nilai sebagai array untuk pemberian nilai paralel.
# Ruby membungkus (num, sq) sebagai array [32, 1024]